// 这个方法实现了 跨浏览器页交互数据
// 通过绑定  storage 事件 来告知 主页 数据写入成功 可以进行下一步操作

// 这个方法主要用于 localStorage 写入数据 
export function sendMsg(type,payload){
  localStorage.setItem(
    '@@'+type,
    JSON.stringify({
      payload,
      temp:Date.now(),
    })
  )
}

// 这个方法 主要是 用来监听 storage 写入事件
export function listenMsg(handler){
  const storageHandler = (e)=>{
    const data = JSON.parse(e.newValue);
    handler(e.key.substring(2),data.payload)
  }
  window.addEventListener('storage',storageHandler);
  return ()=>{
    window.removeEventListener('storage,',storageHandler)
  }
}
const nuHandle;
  // 请求发送成功后 发送消息
  sendMsg('userInfo',{id:123,sex:1,age:20})

// 消息的监听
onMounted(() => {
  nuHandle =  listenMsg((type,payload)=>{
    console.log(type,payload);
  })
}),
  // 取消监听 
  onUnmounted(() => {
    nuHandle&& nuHandle()
  }),